package antlr;
// Generated from non_ho_niente_da_mettermi.g4 by ANTLR 4.1
import org.antlr.v4.runtime.misc.NotNull;
import org.antlr.v4.runtime.tree.ParseTreeVisitor;

/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by {@link non_ho_niente_da_mettermiParser}.
 *
 * @param <T> The return type of the visit operation. Use {@link Void} for
 * operations with no return type.
 */
public interface non_ho_niente_da_mettermiVisitor<T> extends ParseTreeVisitor<T> {
	/**
	 * Visit a parse tree produced by {@link non_ho_niente_da_mettermiParser#expression}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpression(@NotNull non_ho_niente_da_mettermiParser.ExpressionContext ctx);

	/**
	 * Visit a parse tree produced by {@link non_ho_niente_da_mettermiParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitStatement(@NotNull non_ho_niente_da_mettermiParser.StatementContext ctx);

	/**
	 * Visit a parse tree produced by {@link non_ho_niente_da_mettermiParser#scope}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitScope(@NotNull non_ho_niente_da_mettermiParser.ScopeContext ctx);

	/**
	 * Visit a parse tree produced by {@link non_ho_niente_da_mettermiParser#event}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitEvent(@NotNull non_ho_niente_da_mettermiParser.EventContext ctx);

	/**
	 * Visit a parse tree produced by {@link non_ho_niente_da_mettermiParser#color_list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitColor_list(@NotNull non_ho_niente_da_mettermiParser.Color_listContext ctx);

	/**
	 * Visit a parse tree produced by {@link non_ho_niente_da_mettermiParser#block}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBlock(@NotNull non_ho_niente_da_mettermiParser.BlockContext ctx);

	/**
	 * Visit a parse tree produced by {@link non_ho_niente_da_mettermiParser#category_Rule}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCategory_Rule(@NotNull non_ho_niente_da_mettermiParser.Category_RuleContext ctx);

	/**
	 * Visit a parse tree produced by {@link non_ho_niente_da_mettermiParser#list}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitList(@NotNull non_ho_niente_da_mettermiParser.ListContext ctx);

	/**
	 * Visit a parse tree produced by {@link non_ho_niente_da_mettermiParser#closet}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCloset(@NotNull non_ho_niente_da_mettermiParser.ClosetContext ctx);

	/**
	 * Visit a parse tree produced by {@link non_ho_niente_da_mettermiParser#filter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFilter(@NotNull non_ho_niente_da_mettermiParser.FilterContext ctx);

	/**
	 * Visit a parse tree produced by {@link non_ho_niente_da_mettermiParser#outfit_ideas}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOutfit_ideas(@NotNull non_ho_niente_da_mettermiParser.Outfit_ideasContext ctx);
}